package com.ktgj.customer.service;

import java.util.List;
import com.ktgj.customer.domain.Card;
import com.ktgj.customer.domain.Employee;
import com.ktgj.customer.domain.dto.CardDTO;
import org.apache.poi.ss.formula.functions.T;

import javax.servlet.http.HttpServletRequest;

/**
 * 卡Service接口
 * 
 * @author ruoyi
 * @date 2021-07-30
 */
public interface ICardService 
{
    /**
     * 查询卡
     * 
     * @param cardId 卡ID
     * @return 卡
     */
    public Card selectCardById(Long cardId);

    /**
     * 查询卡及该卡下拥有的可用权益项
     *
     * @param cardId 卡ID
     * @return 卡
     */
    public Card selectCardAndHaveRightdetailsById(Long cardId);

    /**
     * 查询卡列表
     * 
     * @param card 卡
     * @return 卡集合
     */
    public List<Card> selectCardList(Card card);

    /**
     * 新增卡
     * 
     * @param card 卡
     * @return 结果
     */
    public int insertCard(Card card, Employee employee);

    /**
     * 修改卡
     * 
     * @param card 卡
     * @return 结果
     */
    public int updateCard(Card card);

    /**
     * 批量删除卡
     * 
     * @param cardIds 需要删除的卡ID
     * @return 结果
     */
    public int deleteCardByIds(Long[] cardIds);

    /**
     * 删除卡信息
     * 
     * @param cardId 卡ID
     * @return 结果
     */
    public int deleteCardById(Long cardId);

    public List<CardDTO> queryPurchaseCardAndRightsDetail(HttpServletRequest request);


    /**
     * 下单页查询卡
     *
     * @param cardId 卡ID
     * @return 卡
     */
    public CardDTO selectCardAndRightDetailById(Long cardId);
}
